package com.victor.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.victor.dao.StepDao;
import com.victor.entity.JMInfo;
import com.victor.entity.step.Schedule;
import com.victor.entity.step.Step;
import com.victor.entity.step.StepDetails;
import com.victor.service.StepService;

@Service
public class StepServiceImpl implements StepService {

	@Autowired
	private StepDao dao;

	// 查询现有的流程
	@Override
	public List<Step> getAllStep() {
		return dao.getAllStep();
	}

	// 创建模板信息
	@Override
	public boolean buildStep(Step step) {
		return dao.buildStep(step) > 0 ? true : false;
	}

	// 创建模板流程
	@Override
	public boolean addStepDetails(StepDetails stepDetails) {
		return dao.addStepDetails(stepDetails) > 0 ? true : false;
	}

	// 批量删除流程
	@Override
	public boolean batchDeleteStep(int[] s_ids) {
		return dao.batchDeleteStep(s_ids) > 0 ? true : false;
	}

	/**
	 * 	查询该模板下流程详细表
	 */
	@Override
	public List<StepDetails> getStepDetailsByS_id(Integer s_id) {
		return dao.getStepDetailsByS_id(s_id);
	}
	
	/**
	 * 分配应用模板
	 */
	@Override
	public boolean allotStep(Schedule schedule) {
		return dao.allotStep(schedule);
	}

	/**
	 *  	查询待我审批
	 *  @param empid 员工id
	 */
	@Override
	public List<Schedule> selfSPById(String empid) {
		return dao.selfSPById(empid);
	}

	/**
	 *  	查询 (我参与的审批) 
	 *  @param empid 员工id
	 */
	@Override
	public List<Schedule> selfSPJoinById(String empid) {
		return dao.selfSPJoinById(empid);
	}

	/**
	 * 查询加盟实体类
	 */
	@Override
	public JMInfo getInfoById(int id) {
		return dao.getInfoById(id);
	}

	/**
	 * 通过审批
	 */
	@Override
	public boolean pass(Integer id) {
		return dao.pass(id);
	}

	/**
	 * 	修改一流程的状态
	 */
	@Override
	public boolean updateNextPersonStatus(Integer id) {
		return dao.updateNextPersonStatus(id);
	}

	/**
	 * 	拒绝审批
	 */
	@Override
	public boolean no(Integer id, String not_pass_reason) {
		return dao.no(id,not_pass_reason);
	}

	/**
	 * 	根据id获取流程模板
	 */
	@Override
	public List<Step> getStepList(int[] ids) {
		return dao.getStepList(ids);
	}

	/**
	 * 	拒绝审批，修改加盟实体类状态
	 */
	@Override
	public boolean noPassJminfo(Integer id) {
		return dao.noPassJminfo(id);
	}

	/**
	 * 分配模板成功修改加盟实体类状态1
	 */
	@Override
	public boolean updateStatus(Integer id) {
		return dao.updateStatus(id);
	}

	/**
	 * 	最后一个审批人就修改加盟实体类的状态2
	 */
	@Override
	public boolean updateJMinfoById(Integer id) {
		return dao.updateJMinfoById(id);
	}

	/**
	 * 	查询下一审批进程id
	 */
	@Override
	public Integer selectIdBySpsequence(String sp_sequence, String info_id) {
		return dao.selectIdBySpsequence(sp_sequence,info_id);
	}

	

//	// 查询待我审批 empid 登录员工的id 即员工adminid
//	@Override
//	public List<JMInfo> needMeStep(String empid) {
//		return dao.needMeStep(empid);
//	}
//
//	//	查询我参与的审批
//	@Override
//	public List<JMInfo> joinMeStep(String empid) {
//		return dao.joinMeStep(empid);
//	}
}
